#ifndef __CM_NAT_CONTENT_H__
#define __CM_NAT_CONTENT_H__

#include "Common.h"
#include "Transport.h"

namespace cm_nat
{
    class Content
    {
    public:
        Content();
        virtual ~Content();

        void setCreator(const std::string &creator);
        std::string getCreator();

        void setName(const std::string &name );
        std::string getName();

        void setSenders(const std::string &senders);
        std::string getSenders();


        bool addTransport(Transport* p_transport);

        bool parse(Tag* p_tag);
        virtual Tag* tag() const;

    private:
        //attributes
        std::string m_creator;
        std::string m_name;
        std::string m_senders;

        //elements
        TransportList m_transports;
    };

    typedef std::list<Content*> ContentList;

}

#endif